#ifndef _TJVECTOR6282011_H_
#define _TJVECTOR6282011_H_
#include "tj_vec_trait.h"

// everytime when you want to put an operation on a homogeneous_vector
// you have to normalize it first, is there any good idea to avoid this?
typedef computable_vector<homogeneous_vector<float>> vec4;
typedef computable_vector<nonhomogeneous_vector<float, 3>> vec3;
typedef computable_vector<nonhomogeneous_vector<float, 2>> vec2;
// 
typedef computable_vector<nonhomogeneous_vector<int, 3>> vec3i;
typedef computable_vector<nonhomogeneous_vector<int, 2>> vec2i;


typedef bounded_color_vector<float, 4, 0, 1> color4f;
typedef bounded_color_vector<float, 3, 0, 1> color3f;
typedef bounded_color_vector<int, 4, 0, 255> color4i;
typedef bounded_color_vector<int, 3, 0, 255> color3i;

#endif //_TJVECTOR6282011_H_